<?php

class Zen_Controller_Plugin_FlashMessenger extends Zend_Controller_Plugin_Abstract {
	public function preDispatch(Zend_Controller_Request_Abstract $request) {
		// Инициализируем помощник FlashMessenger и получаем сообщения
		$actionHelperFlashMessenger = new Zend_Controller_Action_Helper_FlashMessenger ( );
		$messagesSuccess = $actionHelperFlashMessenger->setNamespace ( 'messages' )->getMessages ();
		
		// Если сообщений нет, или процес диспетчеризации не закончен успешно, просто выходим из плагина
		if (empty ( $messagesSuccess ) || ! $request->isDispatched ()) {
			return;
		}
		// Получаем объект  Zend_Layout
		$layout = Zend_Layout::getMvcInstance ();
		// Получаем объект  вида
		$view = $layout->getView ();
		// Добавляем переменную для вида
		$messView=new Zend_View();
		$messView->messages = $messagesSuccess;
		$cnf=Zend_Registry::get('cnf');
		
		$conf=$cnf->toArray();
		$messView->setScriptPath($conf['resources']['layout']['layoutPath'][0]);
		
		$view->flashMessages=$messView->render('messages.phtml');
	}
}